/*
 * Created on 28-ene-2005
 *
 * TODO To change the template for this generated file go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
package com.juanfrivaldes.cio2005.dao;

import java.util.List;

import org.springframework.dao.DataAccessException;

import com.juanfrivaldes.cio2005.domain.Ponencia;
import com.juanfrivaldes.cio2005.domain.Revision;
import com.juanfrivaldes.cio2005.domain.RevisionFinal;

/**
 * @author root
 *
 * TODO To change the template for this generated type comment go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
public interface PonenciaDao {

	public void addPonencia(Ponencia ponencia) throws DataAccessException;
	
	public List getPonenciasByUsuario(String usuario) throws DataAccessException;
	
	public List getPonencias() throws DataAccessException;
	
//	public void updatePonencia(Ponencia ponencia) throws DataAccessException;

	/**
	 * @param revision
	 * @return
	 */
	public void setRevision(Revision revision);

	/**
	 * @param categoria
	 * @return
	 */
	public List getPonenciasByCategoria(String categoria) throws DataAccessException;

	/**
	 * @param usuario
	 * @return
	 */
	public List getPonenciasWithUsuario(String usuario) throws DataAccessException;

	public List getPonenciasConfirmables() throws DataAccessException;

	public List getPonenciasConfirmablesByCategoria(String categoria) throws DataAccessException;

	public void marcaPonenciaConfirmada(int id) throws DataAccessException;

	public Ponencia getPonenciaById(int id)throws DataAccessException;
	
	public void marcaPonenciaIntroducida(String tipo,int id) throws DataAccessException;

	public List getFinalesConfirmables() throws DataAccessException;
	
	public List getFinalesConfirmablesByCategoria(String categoria) throws DataAccessException;
	
	public void marcaFinalConfirmada(int id) throws DataAccessException;
	
	public List getFinalesByCategoria(String categoria) throws DataAccessException;

	public List getFinales() throws DataAccessException;

	public void setRevisionFinal(RevisionFinal revision) throws DataAccessException;
	
}
